{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 核方法\n",
    "\n",
    "核方法往简单地说，就是将一个低维的线性不可分的数据映射到一个高维的空间、并期望映射后的数据在高维空间里是线性可分的。我们以异或数据集为例：在二维空间中、异或数据集是线性不可分的；但是通过将其映射到三维空间、我们可以非常简单地让其在三维空间中变得线性可分。比如定义映射：\n",
    "\n",
    "$$\n",
    "\\phi(x,y)=\\left\\{\n",
    "\\begin{aligned}\n",
    "&(x,y,1),\\ \\ xy>0 \\\\\n",
    "&(x,y,0),\\ \\ xy\\le0\n",
    "\\end{aligned}\n",
    "\\right.\n",
    "$$\n",
    "\n",
    "该映射的效果如下图所示：\n",
    "\n",
    "![核方法](https://ooo.0o0.ooo/2017/06/14/594109ab07368.png)\n",
    "\n",
    "可以看到，虽然左图的数据集线性不可分、但显然右图的数据集是线性可分的，这就是核方法工作原理的一个不太严谨但仍然合理的解释\n",
    "\n",
    "应用核方法的思路如下：\n",
    "+ 将算法表述成样本点内积的组合（这经常能通过算法的对偶形式实现）\n",
    "+ 设法找到核函数$K(xi,xj)$，它能返回样本点$x_i$、$x_j$被$\\phi$作用后的内积\n",
    "+ 用$K(xi,xj)$替换$xi\\cdot xj$、完成低维到高维的映射（同时也完成了从线性算法到非线性算法的转换）"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 核感知机\n",
    "\n",
    "感知机的原始损失函数为\n",
    "\n",
    "$$\n",
    "L(D) = \\sum_{i=1}^N\\left[ -y_i(w\\cdot x_i+b)\\right]_+\n",
    "$$\n",
    "\n",
    "为让损失函数中只含样本的内积，考虑令\n",
    "\n",
    "$$\n",
    "w = \\sum_{i=1}^N\\alpha_ix_i\n",
    "$$\n",
    "\n",
    "则\n",
    "\n",
    "$$\n",
    "\\begin{align}\n",
    "L(D) &= \\sum_{i=1}^N\\left[ -y_i\\left[\\left(\\sum_{j=1}^N\\alpha_jx_j\\right)\\cdot x_i+b\\right]\\right]_+ \\\\\n",
    "&= \\sum_{i=1}^N\\left[ -y_i\\left(\\sum_{j=1}^N\\alpha_j(x_i\\cdot x_j)+b\\right)\\right]_+\n",
    "\\end{align}\n",
    "$$\n",
    "\n",
    "在此之上应用核方法是平凡的：设核函数为$K$，只需把所有的$x_i\\cdot x_j$换成$K(x_i,x_j)$即可：\n",
    "\n",
    "$$\n",
    "L(D) = \\sum_{i=1}^N\\left[ -y_i\\left(\\sum_{j=1}^N\\alpha_jK(x_i, x_j)+b\\right)\\right]_+\n",
    "$$\n",
    "\n",
    "于是优化问题变为\n",
    "\n",
    "$$\n",
    "\\min_{\\alpha}\\sum_{i=1}^N\\left[ -y_i\\left(\\sum_{j=1}^N\\alpha_jK(x_i, x_j)+b\\right)\\right]_+\n",
    "$$\n",
    "\n",
    "易知，我们仍然可以用梯度下降法来求解该问题"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "\n",
    "class KP:\n",
    "    def __init__(self):\n",
    "        self._x = None\n",
    "        self._alpha = self._b = self._kernel = None\n",
    "    \n",
    "    # 定义多项式核函数\n",
    "    @staticmethod\n",
    "    def _poly(x, y, p=4):\n",
    "        return (x.dot(y.T) + 1) ** p\n",
    "    \n",
    "    # 定义 rbf 核函数\n",
    "    @staticmethod\n",
    "    def _rbf(x, y, gamma):\n",
    "        return np.exp(-gamma * np.sum((x[..., None, :] - y) ** 2, axis=2))\n",
    "        \n",
    "    def fit(self, x, y, kernel=\"poly\", p=None, gamma=None, lr=0.001, batch_size=128, epoch=10000):\n",
    "        x, y = np.asarray(x, np.float32), np.asarray(y, np.float32)\n",
    "        if kernel == \"poly\":\n",
    "            p = 4 if p is None else p\n",
    "            self._kernel = lambda x_, y_: self._poly(x_, y_, p)\n",
    "        elif kernel == \"rbf\":\n",
    "            gamma = 1 / x.shape[1] if gamma is None else gamma\n",
    "            self._kernel = lambda x_, y_: self._rbf(x_, y_, gamma)\n",
    "        else:\n",
    "            raise NotImplementedError(\"Kernel '{}' has not defined\".format(kernel))\n",
    "        self._alpha = np.zeros(len(x))\n",
    "        self._b = 0.\n",
    "        self._x = x\n",
    "        k_mat = self._kernel(x, x)\n",
    "        for _ in range(epoch):\n",
    "            indices = np.random.permutation(len(y))[:batch_size]\n",
    "            k_mat_batch, y_batch = k_mat[indices], y[indices]\n",
    "            err = -y_batch * (k_mat_batch.dot(self._alpha) + self._b)\n",
    "            if np.max(err) < 0:\n",
    "                continue\n",
    "            mask = err >= 0\n",
    "            delta = lr * y_batch[mask]\n",
    "            self._alpha += np.sum(delta[..., None] * k_mat_batch[mask], axis=0)\n",
    "            self._b += np.sum(delta)\n",
    "    \n",
    "    def predict(self, x, raw=False):\n",
    "        x = np.atleast_2d(x).astype(np.float32)\n",
    "        k_mat = self._kernel(self._x, x)\n",
    "        y_pred = self._alpha.dot(k_mat) + self._b\n",
    "        if raw:\n",
    "            return y_pred\n",
    "        return np.sign(y_pred).astype(np.float32)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 进行简单的测试"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "准确率：   100.0 %\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nN1fN+OD11n3LAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2662e5294a8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from Util import gen_two_clusters, visualize2d\n",
    "\n",
    "xc, yc = gen_two_clusters()\n",
    "kp = KP()\n",
    "kp.fit(xc, yc, p=1)\n",
    "print(\"准确率：{:8.6} %\".format((kp.predict(xc) == yc).mean() * 100))\n",
    "visualize2d(kp, xc, yc, True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 在非线性数据集上进行测试"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "准确率：    90.5 %\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2662fbe4d68>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from Util import gen_spiral\n",
    "\n",
    "xs, ys = gen_spiral()\n",
    "kp = KP()\n",
    "kp.fit(xs, ys, p=8)\n",
    "print(\"准确率：{:8.6} %\".format((kp.predict(xs) == ys).mean() * 100))\n",
    "visualize2d(kp, xs, ys, True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 核 SVM\n",
    "\n",
    "用同样的手法不难得出 LinearSVM 的核形式：\n",
    "\n",
    "$$\n",
    "L(D)=\\frac12\\sum_{i=1}^N\\sum_{j=1}^N\\alpha_i\\alpha_jK(x_i,x_j)+C\\sum_{i=1}^N\\left[ 1-y_i\\left(\\sum_{j=1}^N\\alpha_jK(x_i, x_j)+b\\right)\\right]_+\n",
    "$$\n",
    "\n",
    "可知求导仍然并不困难"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "class SVM(KP):        \n",
    "    def fit(self, x, y, kernel=\"rbf\", p=None, gamma=None, c=1, lr=0.0001, batch_size=128, epoch=10000):\n",
    "        x, y = np.asarray(x, np.float32), np.asarray(y, np.float32)\n",
    "        if kernel == \"poly\":\n",
    "            p = 4 if p is None else p\n",
    "            self._kernel = lambda x_, y_: self._poly(x_, y_, p)\n",
    "        elif kernel == \"rbf\":\n",
    "            gamma = 1 / x.shape[1] if gamma is None else gamma\n",
    "            self._kernel = lambda x_, y_: self._rbf(x_, y_, gamma)\n",
    "        else:\n",
    "            raise NotImplementedError(\"Kernel '{}' has not defined\".format(kernel))\n",
    "        self._alpha = np.zeros(len(x))\n",
    "        self._b = 0.\n",
    "        self._x = x\n",
    "        k_mat = self._kernel(x, x)\n",
    "        k_mat_diag = np.diag(k_mat)\n",
    "        for _ in range(epoch):\n",
    "            self._alpha -= lr * (np.sum(self._alpha * k_mat, axis=1) + self._alpha * k_mat_diag) * 0.5\n",
    "            indices = np.random.permutation(len(y))[:batch_size]\n",
    "            k_mat_batch, y_batch = k_mat[indices], y[indices]\n",
    "            err = 1 - y_batch * (k_mat_batch.dot(self._alpha) + self._b)\n",
    "            if np.max(err) <= 0:\n",
    "                continue\n",
    "            mask = err > 0\n",
    "            delta = c * lr * y_batch[mask]\n",
    "            self._alpha += np.sum(delta[..., None] * k_mat_batch[mask], axis=0)\n",
    "            self._b += np.sum(delta)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 进行简单的测试"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "准确率：   100.0 %\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x26631890d68>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "svm = SVM()\n",
    "svm.fit(xc, yc)\n",
    "print(\"准确率：{:8.6} %\".format((svm.predict(xc) == yc).mean() * 100))\n",
    "visualize2d(svm, xc, yc, True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 在非线性数据集上进行测试"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "准确率：    59.5 %\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nJQZl628AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x26631995cf8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "svm = SVM()\n",
    "svm.fit(xs, ys)\n",
    "print(\"准确率：{:8.6} %\".format((svm.predict(xs) == ys).mean() * 100))\n",
    "visualize2d(svm, xs, ys, True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 和 sklearn 的 SVM 进行比较"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nlfxia2YC4o8AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x26631a08390>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "准确率：   100.0 %\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2662c1a2b38>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "准确率：    54.5 %\n"
     ]
    }
   ],
   "source": [
    "from sklearn.svm import SVC\n",
    "\n",
    "svm = SVC()\n",
    "svm.fit(xc, yc)\n",
    "visualize2d(svm, xc, yc, True)\n",
    "print(\"准确率：{:8.6} %\".format((svm.predict(xc) == yc).mean() * 100))\n",
    "svm.fit(xs, ys)\n",
    "visualize2d(svm, xs, ys, True)\n",
    "print(\"准确率：{:8.6} %\".format((svm.predict(xs) == ys).mean() * 100))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "孰优孰劣的话有点见仁见智的感觉。当然了，这只是两个非常简单的数据集，在真实数据集上，`sklearn`的`SVM`会比我们实现的`SVM`要好很多"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python [conda env:playground]",
   "language": "python",
   "name": "conda-env-playground-py"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
